Going Against the Flow for Typeless Programming
نویسنده
چکیده
We present YinYang, a language that supports typeless programming where all object types are inferred with full support for data polymorphic mutable fields, subtyping, genericity, overriding, and local reasoning about semantic feedback like type errors. YinYang supports these features by forgoing traditional set-based types, instead tracking usage requirements in modular term assignment graphs where necessary mixin-like trait extensions flow backward toward assignees to provide static feedback and a basis to form objects. The resulting programs lack type annotations but can still be separately compiled. This paper describes our design, trade-offs made for feasibility, and an implementation.
منابع مشابه
A Typeful and Tagless Representation for XML Documents
When constructing programs to process XML documents, we immediately face the question as to how XML documents should be represented internally in the programming language we use. Currently, most representations for XML documents are typeless in the sense that the type information of an XML document cannot be reflected in the type of the representation of the document (if the representation is a...
متن کاملTyping Tools for Typeless Stack Languages
Many low-level runtime engines and virtual machines are stack based instructions take parameters from the stack and leave their results on the stack. Stack language is a common name for several languages used to program stack based (virtual) machines like CLR, JVM, Forth, Postscript, etc. We chose the Forth language as an example to represent the class of stack languages, partially because this...
متن کاملComparing Mixed-Integer and Constraint Programming for the No-Wait Flow Shop Problem with Due Date Constraints
The impetus for this research was examining a flow shop problem in which tasks were expected to be successively carried out with no time interval (i.e., no wait time) between them. For this reason, they should be completed by specific dates or deadlines. In this regard, the efficiency of the models was evaluated based on makespan. To solve the NP-Hard problem, we developed two mathematical mode...
متن کاملResolving of Intersection Types in Java
In the past we analyzed typeless Java programs. One of our results was, that there may be different correct typings for one method. This means that the principal types of such methods are intersection types. We presented a type-inference algorithm. For typeless Java methods the algorithm infers its principal intersection type. Unfortunately, like Java byte-code, Java does not allow intersection...
متن کاملA Mathematical Model and a Solution Method for Hybrid Flow Shop Scheduling
This paper studies the hybrid flow shop scheduling where the optimization criterion is the minimization of total tardiness. First, the problem is formulated as a mixed integer linear programming model. Then, to solve large problem sizes, an artificial immune algorithm hybridized with a simple local search in form of simulated annealing is proposed. Two experiments are carried out to evaluate th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013